package br.com.beautycenter.bean;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


@Entity
@Table(name = "TRATAMENTO")
public class Tratamento implements Serializable{
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="ID_TRATAMENTO")
    private int idTratamento;
    
    @Column(name="NOME_TRATAMENTO")
    private String nomeTratamento;
    
    @Column(name="DESCRICAO_TRATAMENTO")
    private String descricaoTratamento;
    
    @Column(name="TEMPO")
    @Temporal(TemporalType.TIME)
    private Date tempo;
    
    @Column(name="VALOR_TRATAMENTO")
    private double valorTratamento;
    
    @Column(name="DT_CADASTRO")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dtCadastro;  
    
    @Column(name = "ATIVO_TRATAMENTO")
    private boolean ativoTratamento = true;
    
    @OneToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_TIPOTRATAMENTO")
    private TipoTratamento tipoTratamento;         

    /**
     * @return the idTratamento
     */
    public int getIdTratamento() {
        return idTratamento;
    }

    /**
     * @param idTratamento the idTratamento to set
     */
    public void setIdTratamento(int idTratamento) {
        this.idTratamento = idTratamento;
    }

    /**
     * @return the nomeTratamento
     */
    public String getNomeTratamento() {
        return nomeTratamento;
    }

    /**
     * @param nomeTratamento the nomeTratamento to set
     */
    public void setNomeTratamento(String nomeTratamento) {
        this.nomeTratamento = nomeTratamento;
    }

    /**
     * @return the descricaoTratamento
     */
    public String getDescricaoTratamento() {
        return descricaoTratamento;
    }

    /**
     * @param descricaoTratamento the descricaoTratamento to set
     */
    public void setDescricaoTratamento(String descricaoTratamento) {
        this.descricaoTratamento = descricaoTratamento;
    }

    public Date getTempo() {
        return tempo;
    }

    public void setTempo(Date tempo) {
        this.tempo = tempo;
    }

    public boolean isAtivoTratamento() {
        return ativoTratamento;
    }

    public void setAtivoTratamento(boolean ativoTratamento) {
        this.ativoTratamento = ativoTratamento;
    }

    /**
     * @return the valorTratamento
     */
    public double getValorTratamento() {
        return valorTratamento;
    }

    /**
     * @param valorTratamento the valorTratamento to set
     */
    public void setValorTratamento(double valorTratamento) {
        this.valorTratamento = valorTratamento;
    }

    /**
     * @return the dtCadastro
     */
    public Date getDtCadastro() {
        return dtCadastro;
    }

    /**
     * @param dtCadastro the dtCadastro to set
     */
    public void setDtCadastro(Date dtCadastro) {
        this.dtCadastro = dtCadastro;
    }

    /**
     * @return the tipoTratamento
     */
    public TipoTratamento getTipoTratamento() {
        return tipoTratamento;
    }

    /**
     * @param tipoTratamento the tipoTratamento to set
     */
    public void setTipoTratamento(TipoTratamento tipoTratamento) {
        this.tipoTratamento = tipoTratamento;
    }
    
}